<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Structured analysis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Structured_analysis"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Structured_analysis rootpage-Structured_analysis skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Structured analysis</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In <a href="Software_engineering" title="Software engineering">software engineering</a>, <b>structured analysis</b> (SA) and <b>structured design</b> (SD) are methods for analyzing business <a href="Requirements" class="mw-redirect" title="Requirements">requirements</a> and developing <a href="Specification" class="mw-redirect" title="Specification">specifications</a> for converting practices into <a href="Computer_program" title="Computer program">computer programs</a>, hardware configurations, and related manual procedures.
</p><p>Structured analysis and design techniques are fundamental tools of <a href="Systems_analysis" title="Systems analysis">systems analysis</a>. They developed from classical systems analysis of the 1960s and 1970s.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Objectives_of_structured_analysis">Objectives of structured analysis</h2></div>
<p>Structured analysis became popular in the 1980s and is still in use today. Structured analysis consists of interpreting the <a href="System" title="System">system</a> concept (or real world situations) into data and control terminology represented by <a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">data flow diagrams</a>. The flow of data and control from bubble to the data store to bubble can be difficult to track and the number of bubbles can increase.
</p><p>One approach is to first define events from the outside world that require the system to react, then assign a bubble to that event. Bubbles that need to interact are then connected until the system is defined. Bubbles are usually grouped into higher level bubbles to decrease complexity. <a href="Data_dictionary" title="Data dictionary">Data dictionaries</a> are needed to describe the data and command flows, and a process specification is needed to capture the transaction/transformation information.<sup id="cite_ref-FAA00_3-0" class="reference"><a href="#cite_note-FAA00-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>SA and SD are displayed with <a href="Structure_chart" title="Structure chart">structure charts</a>, <a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">data flow diagrams</a> and <a href="Data_model_diagram" class="mw-redirect" title="Data model diagram">data model diagrams</a>, of which there were many variations, including those developed by <a href="Tom_DeMarco" title="Tom DeMarco">Tom DeMarco</a>, <a href="Ken_Orr" title="Ken Orr">Ken Orr</a>, <a href="Larry_Constantine" title="Larry Constantine">Larry Constantine</a>, <a href="Vaughn_Frick" title="Vaughn Frick">Vaughn Frick</a>, <a href="Ed_Yourdon" class="mw-redirect" title="Ed Yourdon">Ed Yourdon</a>, Steven Ward, <a href="Peter_Chen" title="Peter Chen">Peter Chen</a>, and others.
</p><p>These techniques were combined in various published <a href="Software_development_process" title="Software development process">system development methodologies</a>, including <a href="Structured_systems_analysis_and_design_method" title="Structured systems analysis and design method">structured systems analysis and design method</a>, profitable information by design (PRIDE), Nastec structured analysis & design, SDM/70 and the Spectrum structured system development methodology.
</p>
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Structured analysis is part of a series of structured methods that represent a collection of analysis, design, and programming techniques that were developed in response to the problems facing the software world from the 1960s to the 1980s. In this timeframe most commercial programming was done in <a href="Cobol" class="mw-redirect" title="Cobol">Cobol</a> and <a href="Fortran" title="Fortran">Fortran</a>, then <a href="C_(programming_language)" title="C (programming language)">C</a> and <a href="BASIC" title="BASIC">BASIC</a>. There was little guidance on "good" design and programming techniques, and there were no standard techniques for documenting requirements and designs. Systems were getting larger and more complex, and the information system development became harder and harder to do so."<sup id="cite_ref-DL00_4-0" class="reference"><a href="#cite_note-DL00-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>As a way to help manage large and complex software, the following structured methods emerged since the end of the 1960s:<sup id="cite_ref-DL00_4-1" class="reference"><a href="#cite_note-DL00-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li><a href="Structured_programming" title="Structured programming">Structured programming</a> in circa 1967 with <a href="Edsger_Dijkstra" class="mw-redirect" title="Edsger Dijkstra">Edsger Dijkstra</a> - "Go To Statement Considered Harmful"</li>
<li><a href="Niklaus_Wirth" title="Niklaus Wirth">Niklaus Wirth</a> Stepwise design in 1971</li>
<li><a href="Nassi%E2%80%93Shneiderman_diagram" title="Nassi–Shneiderman diagram">Nassi–Shneiderman diagram</a> in 1972</li>
<li><a href="Warnier/Orr_diagram" title="Warnier/Orr diagram">Warnier/Orr diagram</a> in 1974 - "Logical Construction of Programs"</li>
<li><a href="HIPO" class="mw-redirect" title="HIPO">HIPO</a> in 1974 - IBM Hierarchy input-process-output (though this should really be output-input-process)</li>
<li><a href="Structured_design" class="mw-redirect" title="Structured design">Structured design</a> around 1975 with <a href="Larry_Constantine" title="Larry Constantine">Larry Constantine</a>, <a href="Ed_Yourdon" class="mw-redirect" title="Ed Yourdon">Ed Yourdon</a> and <a href="Wayne_Stevens_(software_engineer)" title="Wayne Stevens (software engineer)">Wayne Stevens</a>.<sup id="cite_ref-FOOTNOTEStevensMyersConstantine1974_5-0" class="reference"><a href="#cite_note-FOOTNOTEStevensMyersConstantine1974-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEYourdonConstantine1979_6-0" class="reference"><a href="#cite_note-FOOTNOTEYourdonConstantine1979-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Jackson_structured_programming" title="Jackson structured programming">Jackson structured programming</a> in circa 1975 developed by <a href="Michael_A._Jackson_(computer_scientist)" title="Michael A. Jackson (computer scientist)">Michael A. Jackson</a></li>
<li>Structured analysis in circa 1978 with <a href="Tom_DeMarco" title="Tom DeMarco">Tom DeMarco</a>, <a href="Edward_Yourdon" title="Edward Yourdon">Edward Yourdon</a>, Gane & Sarson, McMenamin & Palmer.</li>
<li><a href="Structured_analysis_and_design_technique" title="Structured analysis and design technique">Structured analysis and design technique</a> (SADT) developed by <a href="Douglas_T._Ross" title="Douglas T. Ross">Douglas T. Ross</a></li>
<li><a href="Edward_Yourdon#Yourdon_Structured_Method" title="Edward Yourdon">Yourdon structured method</a> developed by <a href="Edward_Yourdon" title="Edward Yourdon">Edward Yourdon</a>.</li>
<li>Structured analysis and system specification published in 1978 by <a href="Tom_DeMarco" title="Tom DeMarco">Tom DeMarco</a>.</li>
<li><a href="Structured_systems_analysis_and_design_method" title="Structured systems analysis and design method">Structured systems analysis and design method</a> (SSADM) first presented in 1983 developed by the <a href="UK_government" class="mw-redirect" title="UK government">UK</a> <a href="Office_of_Government_Commerce" title="Office of Government Commerce">Office of Government Commerce</a>.</li>
<li><a href="Essential_Systems_Analysis" class="mw-redirect" title="Essential Systems Analysis">Essential Systems Analysis</a>, proposed by Stephen M. McMenamin and John F. Palmer<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></li>
<li><a href="IDEF0" title="IDEF0">IDEF0</a> based on SADT, developed by <a href="Douglas_T._Ross" title="Douglas T. Ross">Douglas T. Ross</a> in 1985.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Hatley-Pirbhai_modeling" class="mw-redirect" title="Hatley-Pirbhai modeling">Hatley-Pirbhai modeling</a>, defined in "Strategies for Real-Time System Specification" by Derek J. Hatley and Imtiaz A. Pirbhai in 1988.</li>
<li>Modern Structured Analysis, developed by Edward Yourdon, after Essential System Analysis was published, and published in 1989.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Information_technology_engineering" class="mw-redirect" title="Information technology engineering">Information technology engineering</a> in circa 1990 with Finkelstein and popularised by <a href="James_Martin_(author)" title="James Martin (author)">James Martin</a>.</li></ul>
<p>According to Hay (1999) "<a href="Information_engineering" title="Information engineering">information engineering</a> was a logical extension of the structured techniques that were developed during the 1970s. Structured programming led to structured design, which in turn led to structured systems analysis. These techniques were characterized by their use of <a href="Diagram" title="Diagram">diagrams</a>: structure charts for structured design, and data flow diagrams for structured analysis, both to aid in communication between users and developers, and to improve the analyst's and the designer's discipline. During the 1980s, tools began to appear which both automated the drawing of the diagrams, and kept track of the things drawn in a <a href="Data_dictionary" title="Data dictionary">data dictionary</a>".<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> After the example of <a href="Computer-aided_design" title="Computer-aided design">computer-aided design</a> and <a href="Computer-aided_manufacturing" title="Computer-aided manufacturing">computer-aided manufacturing</a> (CAD/CAM), the use of these tools was named <a href="Computer-aided_software_engineering" title="Computer-aided software engineering">computer-aided software engineering</a> (CASE).
</p>
<div class="mw-heading mw-heading2"><h2 id="Structured_analysis_topics">Structured analysis topics</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Single_abstraction_mechanism">Single abstraction mechanism</h3></div>
<p>Structured analysis typically creates a hierarchy employing a single abstraction mechanism. The structured analysis method can employ <a href="IDEF" title="IDEF">IDEF</a> (see figure), is process driven, and starts with a purpose and a viewpoint. This method identifies the overall function and iteratively divides functions into smaller functions, preserving inputs, outputs, controls, and mechanisms necessary to optimize processes. Also known as a <a href="Functional_decomposition" title="Functional decomposition">functional decomposition</a> approach, it focuses on cohesion within functions and coupling between functions leading to structured data.<sup id="cite_ref-DoDAF_V2_11-1" class="reference"><a href="#cite_note-DoDAF_V2-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p><p>The functional decomposition of the structured method describes the process without delineating system behavior and dictates system structure in the form of required functions. The method identifies inputs and outputs as related to the activities. One reason for the popularity of structured analysis is its intuitive ability to communicate high-level processes and concepts, whether in single system or enterprise levels. Discovering how objects might support functions for commercially prevalent <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a> development is unclear. In contrast to IDEF, the <a href="UML" class="mw-redirect" title="UML">UML</a> is interface driven with multiple abstraction mechanisms useful in describing <a href="Service-orientation" title="Service-orientation">service-oriented</a> architectures (SOAs).<sup id="cite_ref-DoDAF_V2_11-2" class="reference"><a href="#cite_note-DoDAF_V2-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Approach">Approach</h3></div>
<p>Structured analysis views a system from the perspective of the data flowing through it. The function of the system is described by processes that transform the data flows. Structured analysis takes advantage of information hiding through successive decomposition (or top down) analysis. This allows attention to be focused on pertinent details and avoids confusion from looking at irrelevant details. As the level of detail increases, the breadth of information is reduced. The result of structured analysis is a set of related graphical diagrams, process descriptions, and data definitions. They describe the transformations that need to take place and the data required to meet a system's <a href="Functional_requirement" title="Functional requirement">functional requirements</a>.<sup id="cite_ref-HeSi86_12-0" class="reference"><a href="#cite_note-HeSi86-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<p>De Marco's approach<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> consists of the following objects (see figure):<sup id="cite_ref-HeSi86_12-2" class="reference"><a href="#cite_note-HeSi86-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li><a href="Context_diagram" class="mw-redirect" title="Context diagram">Context diagram</a></li>
<li><a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">Data flow diagram</a></li>
<li>Process specifications</li>
<li><a href="Data_dictionary" title="Data dictionary">Data dictionary</a></li></ul>
<p>Hereby the <a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">data flow diagrams</a> (DFDs) are directed graphs. The arcs represent <a href="Data" title="Data">data</a>, and the nodes (circles or bubbles) represent processes that transform the data. A process can be further decomposed to a more detailed DFD which shows the subprocesses and data flows within it. The subprocesses can in turn be decomposed further with another set of DFDs until their functions can be easily understood. Functional primitives are processes which do not need to be decomposed further. Functional primitives are described by a process specification (or mini-spec). The process specification can consist of pseudo-code, <a href="Flowchart" title="Flowchart">flowcharts</a>, or structured English. The DFDs model the structure of the system as a network of interconnected processes composed of functional primitives. The <a href="Data_dictionary" title="Data dictionary">data dictionary</a> is a set of entries (definitions) of data flows, data elements, files, and databases. The data dictionary entries are partitioned in a top-down manner. They can be referenced in other data dictionary entries and in data flow diagrams.<sup id="cite_ref-HeSi86_12-3" class="reference"><a href="#cite_note-HeSi86-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Context_diagram">Context diagram</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Context_diagram" class="mw-redirect" title="Context diagram">Context diagram</a></div>
<p><a href="System_Context_Diagram" class="mw-redirect" title="System Context Diagram">Context diagrams</a> are diagrams that represent the actors outside a system that could interact with that system.<sup id="cite_ref-KoSw03_15-0" class="reference"><a href="#cite_note-KoSw03-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> This diagram is the highest level view of a <a href="System" title="System">system</a>, similar to <a href="Block_diagram" title="Block diagram">block diagram</a>, showing a, possibly <a href="Software_system" title="Software system">software</a>-based, system as a whole and its inputs and outputs from/to external factors.
</p><p>This type of diagram according to Kossiakoff (2003) usually "pictures the system at the center, with no details of its interior structure, surrounded by all its interacting systems, environment and activities. The objective of a system context diagram is to focus attention on external factors and events that should be considered in developing a complete set of system requirements and constraints".<sup id="cite_ref-KoSw03_15-1" class="reference"><a href="#cite_note-KoSw03-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> System context diagrams are related to <a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">data flow diagram</a>, and show the interactions between a system and other actors which the system is designed to face. System context diagrams can be helpful in understanding the context in which the system will be part of <a href="Software_engineering" title="Software engineering">software engineering</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Data_dictionary">Data dictionary</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Data_dictionary" title="Data dictionary">Data dictionary</a></div>
<p>A <a href="Data_dictionary" title="Data dictionary">data dictionary</a> or <i>database dictionary</i> is a file that defines the basic organization of a <a href="Database" title="Database">database</a>.<sup id="cite_ref-USDT01_16-1" class="reference"><a href="#cite_note-USDT01-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> A database dictionary contains a list of all files in the database, the number of records in each file, and the names and types of each data field. Most <a href="Database_management_system" class="mw-redirect" title="Database management system">database management systems</a> keep the data dictionary hidden from users to prevent them from accidentally destroying its contents. Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it. Without a data dictionary, however, a database management system cannot access data from the database.<sup id="cite_ref-USDT01_16-2" class="reference"><a href="#cite_note-USDT01-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p><p>Database users and <a href="Application_software" title="Application software">application</a> developers can benefit from an authoritative data dictionary document that catalogs the organization, contents, and conventions of one or more databases.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> This typically includes the names and descriptions of various <a href="Table_(database)" title="Table (database)">tables</a> and <a href="Column_(database)" title="Column (database)">fields</a> in each database, plus additional details, like the <a href="Data_type" title="Data type">type</a> and length of each <a href="Data_element" title="Data element">data element</a>. There is no universal standard as to the level of detail in such a document, but it is primarily a distillation of <a href="Metadata" title="Metadata">metadata</a> about <a href="Database_design" title="Database design">database structure</a>, not the data itself. A data dictionary document also may include further information describing how data elements are encoded. One of the advantages of well-designed data dictionary documentation is that it helps to establish consistency throughout a complex database, or across a large collection of <a href="Federated_database" class="mw-redirect" title="Federated database">federated databases</a>.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Data_flow_diagrams">Data flow diagrams</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">Data flow diagram</a></div>
<p>A <a href="Data_flow_diagram" class="mw-redirect" title="Data flow diagram">data flow diagram</a> (DFD) is a graphical representation of the "flow" of data through an <a href="Information_system" title="Information system">information system</a>. It differs from the system <a href="Flowchart" title="Flowchart">flowchart</a> as it shows the flow of data through processes instead of <a href="Computer_hardware" title="Computer hardware">computer hardware</a>. Data flow diagrams were invented by <a href="Larry_Constantine" title="Larry Constantine">Larry Constantine</a>, developer of <a href="Structured_design" class="mw-redirect" title="Structured design">structured design</a>, based on Martin and Estrin's "data flow graph" model of computation.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>
</p><p>It is common practice to draw a <a href="System_context_diagram" title="System context diagram">system context diagram</a> first which shows the interaction between the system and outside entities. The DFD is designed to show how a system is divided into smaller portions and to highlight the flow of data between those parts. This context-level data flow diagram is then "exploded" to show more detail of the system being modeled.
</p><p>Data flow diagrams (DFDs) are one of the three essential perspectives of <a href="Structured_systems_analysis_and_design_method" title="Structured systems analysis and design method">structured systems analysis and design method</a> (SSADM). The sponsor of a project and the end users will need to be briefed and consulted throughout all stages of a system's evolution. With a data flow diagram, users are able to visualize how the system will operate, what the system will accomplish, and how the system will be implemented. The old system's data flow diagrams can be drawn up and compared with the new system's data flow diagrams to draw comparisons to implement a more efficient system. Data flow diagrams can be used to provide the end user with a physical idea of where the data they input ultimately has an effect upon the structure of the whole system from order to dispatch to recook. How any system is developed can be determined through a data flow diagram.
</p>
<div class="mw-heading mw-heading3"><h3 id="Structure_chart">Structure chart</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Structure_chart" title="Structure chart">Structure chart</a></div>
<p>A <a href="Structure_chart" title="Structure chart">structure chart</a> (SC) is a chart that shows the breakdown of the <a href="Configuration_system" class="mw-redirect" title="Configuration system">configuration system</a> to the lowest manageable levels.<sup id="cite_ref-IRT_21-1" class="reference"><a href="#cite_note-IRT-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> This chart is used in <a href="Structured_programming" title="Structured programming">structured programming</a> to arrange the program modules in a tree structure. Each module is represented by a box which contains the name of the modules. The tree structure visualizes the relationships between the modules.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>Structure charts are used in structured analysis to specify the high-level design, or architecture, of a <a href="Computer_program" title="Computer program">computer program</a>. As a design tool, they aid the programmer in dividing and conquering a large software problem, that is, recursively breaking a problem down into parts that are small enough to be understood by a human brain. The process is called <a href="Top-down_design" class="mw-redirect" title="Top-down design">top-down design</a>, or <a href="Functional_decomposition" title="Functional decomposition">functional decomposition</a>. Programmers use a structure chart to build a program in a manner similar to how an architect uses a blueprint to build a house. In the design stage, the chart is drawn and used as a way for the client and the various software designers to communicate. During the actual building of the program (implementation), the chart is continually referred to as the master-plan.<sup id="cite_ref-Wol_23-0" class="reference"><a href="#cite_note-Wol-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Structured_design">Structured design</h3></div>
<p>Structured design (SD) is concerned with the development of modules and the synthesis of these modules in a so-called "module hierarchy".<sup id="cite_ref-FOOTNOTEPage-Jones1980_24-0" class="reference"><a href="#cite_note-FOOTNOTEPage-Jones1980-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> In order to design optimal module structure and interfaces two principles are crucial:
</p>
<ul><li><i><a href="Cohesion_(computer_science)" title="Cohesion (computer science)">Cohesion</a></i> which is "concerned with the grouping of functionally related processes into a particular module",<sup id="cite_ref-HeSi86_12-4" class="reference"><a href="#cite_note-HeSi86-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> and</li>
<li><i><a href="Coupling_(computer_science)" class="mw-redirect" title="Coupling (computer science)">Coupling</a></i> relates to "the flow of information or parameters passed between modules. Optimal coupling reduces the interfaces of modules and the resulting complexity of the software".<sup id="cite_ref-HeSi86_12-5" class="reference"><a href="#cite_note-HeSi86-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup></li></ul>
<p>Structured design was developed by <a href="Larry_Constantine" title="Larry Constantine">Larry Constantine</a> in the late 1960s, then refined and published with collaborators in the 1970s;<sup id="cite_ref-FOOTNOTEStevensMyersConstantine1974_5-1" class="reference"><a href="#cite_note-FOOTNOTEStevensMyersConstantine1974-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEYourdonConstantine1979_6-1" class="reference"><a href="#cite_note-FOOTNOTEYourdonConstantine1979-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> see <a href="Larry_Constantine#Structured_design" title="Larry Constantine">Larry Constantine: structured design</a> for details. <a href="#CITEREFPage-Jones1980">Page-Jones (1980)</a> has proposed his own approach which consists of three main objects :
</p>
<ul><li>structure charts</li>
<li>module specifications</li>
<li>data dictionary.</li></ul>
<p>The <a href="Structure_chart" title="Structure chart">structure chart</a> aims to show "the module hierarchy or calling sequence relationship of modules. There is a module specification for each module shown on the structure chart. The module specifications can be composed of pseudo-code or a program design language. The <a href="Data_dictionary" title="Data dictionary">data dictionary</a> is like that of structured analysis. At this stage in the <a href="Software_development_lifecycle" class="mw-redirect" title="Software development lifecycle">software development lifecycle</a>, after analysis and design have been performed, it is possible to automatically generate data type declarations",<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> and procedure or subroutine templates.<sup id="cite_ref-HeSi86_12-6" class="reference"><a href="#cite_note-HeSi86-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Criticisms">Criticisms</h2></div>
<p>Problems with data flow diagrams have included the following:<sup id="cite_ref-FAA00_3-1" class="reference"><a href="#cite_note-FAA00-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<ol><li>Choosing bubbles appropriately</li>
<li>Partitioning bubbles in a meaningful and mutually agreed upon manner,</li>
<li>Documentation size needed to understand the Data Flows,</li>
<li>Data flow diagrams are strongly functional in nature and thus subject to frequent change</li>
<li>Though "data" flow is emphasized, "data" modeling is not, so there is little understanding the subject matter of the system</li>
<li>Customers have difficulty following how the concept is mapped into data flows and bubbles</li>
<li>Designers must shift the DFD organization into an implementable format</li></ol>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Event_partitioning" title="Event partitioning">Event partitioning</a></li>
<li><a href="Flow-based_programming" title="Flow-based programming">Flow-based programming</a></li>
<li><a href="HIPO" class="mw-redirect" title="HIPO">HIPO</a></li>
<li><a href="Jackson_structured_programming" title="Jackson structured programming">Jackson structured programming</a></li>
<li><a href="Prosa_Structured_Analysis_Tool" title="Prosa Structured Analysis Tool">Prosa Structured Analysis Tool</a></li>
<li><a href="Soft_systems_methodology" title="Soft systems methodology">Soft systems methodology</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Tricia Gilbert (2006) <a rel="nofollow" class="external text" href="https://acast.grc.nasa.gov/wp-content/uploads/icns/2006/06_Session_B1/03-Gilbert.pdf">FCS Evaluation criterea for technology assessment</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080918012417/http://acast.grc.nasa.gov/wp-content/uploads/icns/2006/06_Session_B1/03-Gilbert.pdf">Archived</a> 2008-09-18 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a href="Edward_Yourdon" title="Edward Yourdon">Edward Yourdon</a> (1986). <i>Managing the Structured Techniques: Strategies for Software Development in the 1990s</i>. Yourdon Press. p.35.</span>
</li>
<li id="cite_note-FAA00-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-FAA00_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FAA00_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">FAA (2000). <a rel="nofollow" class="external text" href="http://www.faa.gov/regulations_policies/handbooks_manuals/aviation/risk_management/ss_handbook/media/app_d_1200.pdf"><i>FAA System Safety Handbook, Appendix D</i></a>. December 30, 2000.</span>
</li>
<li id="cite_note-DL00-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-DL00_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-DL00_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Dave Levitt (2000). "Introduction to Structured Analysis and Design." at <i>faculty.inverhills.edu/dlevitt</i>. Retrieved 21 Sep 2008. No longer online 2017.</span>
</li>
<li id="cite_note-FOOTNOTEStevensMyersConstantine1974-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEStevensMyersConstantine1974_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEStevensMyersConstantine1974_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFStevensMyersConstantine1974">Stevens, Myers & Constantine 1974</a>.</span>
</li>
<li id="cite_note-FOOTNOTEYourdonConstantine1979-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEYourdonConstantine1979_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEYourdonConstantine1979_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFYourdonConstantine1979">Yourdon & Constantine 1979</a>.</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFMcMenaminPalmer1984" class="citation book cs1">McMenamin, Stephen M.; Palmer, John F. (1984). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/essentialsystems00mcme"><i>Essential Systems Analysis</i></a></span>. Yourdon Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-13-287905-7</bdi>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">Gavriel Salvendy (2001). <i>Handbook of Industrial Engineering: Technology and Operations Management.</i>. p.508.</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFYourdon1989" class="citation book cs1">Yourdon, Edward (1989). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=QetnQgAACAAJ&dq=Modern+Structured+Analysis"><i>Modern Structured Analysis</i></a>. Prentice-Hall. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-13-598632-5</bdi>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">David C. Hay (1999) <a rel="nofollow" class="external text" href="http://www.ihs.gov/Misc/links_gateway/download.cfm?doc_id=138&app_dir_id=4&doc_file=ieoo.pdf">Achieving buzzword compliance in Object orientation</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20081020060208/http://www.ihs.gov/misc/links_gateway/download.cfm?doc_id=138&app_dir_id=4&doc_file=ieoo.pdf">Archived</a> 2008-10-20 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a> Essential Strategies, Inc.</span>
</li>
<li id="cite_note-DoDAF_V2-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-DoDAF_V2_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-DoDAF_V2_11-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-DoDAF_V2_11-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">DoD Architecture Framework Working Group (2003). <a rel="nofollow" class="external text" href="http://www.defenselink.mil/cio-nii/docs/DoDAF_Volume_II.pdf">DoDAF 1.5 Volume 2</a>, 15 August 2003.</span>
</li>
<li id="cite_note-HeSi86-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-HeSi86_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-HeSi86_12-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-HeSi86_12-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-HeSi86_12-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-HeSi86_12-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-HeSi86_12-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-HeSi86_12-6"><sup><i><b>g</b></i></sup></a></span> <span class="reference-text">
Alan Hecht and Andy Simmons (1986) <a rel="nofollow" class="external text" href="https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19890006956_1989006956.pdf">Integrating Automated Structured Analysis and Design with Ada Programming Support Environments</a> NASA 1986.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><a href="Tom_DeMarco" title="Tom DeMarco">Tom DeMarco</a> (1978). <i>Structured Analysis and System Specification</i>. Yourdon Press, New York, 1978.</span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://projects.osd.noaa.gov/NDE/proj_context_diagram.htm">NDE Project Management</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20081107193850/http://projects.osd.noaa.gov/NDE/proj_context_diagram.htm">Archived</a> 2008-11-07 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a> (NPOESS) Data Exploitation web site. 2008.</span>
</li>
<li id="cite_note-KoSw03-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-KoSw03_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-KoSw03_15-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Alexander Kossiakoff, William N. Sweet (2003). <i>Systems Engineering: Principles and Practices</i> p. 413.</span>
</li>
<li id="cite_note-USDT01-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-USDT01_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-USDT01_16-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-USDT01_16-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://knowledge.fhwa.dot.gov/tam/aashto.nsf/All+Documents/4825476B2B5C687285256B1F00544258/$FILE/DIGloss.pdf">Data Integration Glossary</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120218233448/http://knowledge.fhwa.dot.gov/tam/aashto.nsf/All%20Documents/4825476B2B5C687285256B1F00544258/%24FILE/DIGloss.pdf">Archived</a> 2012-02-18 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, U.S. Department of Transportation, August 2001.</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">TechTarget, <i>SearchSOA</i>, <a rel="nofollow" class="external text" href="http://searchsoa.techtarget.com/sDefinition/0,,sid26_gci211896,00.html">What is a data dictionary?</a></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">AHIMA Practice Brief, <a rel="nofollow" class="external text" href="https://library.ahima.org/xpedio/groups/public/documents/ahima/bok1_030582.hcsp?dDocName=bok1_030582">Guidelines for Developing a Data Dictionary</a>, <i>Journal of AHIMA</i> 77, no.2 (February 2006): 64A-D.</span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">John Azzolini (2000). <a rel="nofollow" class="external text" href="https://ses.gsfc.nasa.gov/ses_data_2000/000712_Azzolini.ppt">Introduction to Systems Engineering Practices</a>. July 2000.</span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text">W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13 (2), 115-139, 1974.</span>
</li>
<li id="cite_note-IRT-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-IRT_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-IRT_21-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.irs.gov/irm/part2/ch17s01.html">"Configuration Management"</a> In: <i>IRS Resources Part 2. Information Technology Chapter 27. Configuration Management</i>. Accessed 14 Nov 2008.</span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><a href="James_Martin_(author)" title="James Martin (author)">James Martin</a>, Carma L. McClure (1988). <i>Structured Techniques: The Basis for Case</i>. Prentice Hall. p.56.</span>
</li>
<li id="cite_note-Wol-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-Wol_23-0">^</a></b></span> <span class="reference-text">David Wolber "<a rel="nofollow" class="external text" href="http://www.usfca.edu/~wolberd/cs112/SupplementalNotes/structureChart.doc">Structure Charts</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090219083522/http://www.usfca.edu/~wolberd/cs112/SupplementalNotes/structureChart.doc">Archived</a> 2009-02-19 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>: Supplementary Notes Structure Charts and Bottom-up Implementation: Java Version.</span>
</li>
<li id="cite_note-FOOTNOTEPage-Jones1980-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEPage-Jones1980_24-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFPage-Jones1980">Page-Jones 1980</a>.</span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">Belkhouche, B., and J.E. Urban. (1986). "Direct Implementation of Abstract Data Types from Abstract Specifications". In: <i>IEEE Transactions on Software Engineering</i> pp. 549-661, May 1986.</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFStevensMyersConstantine1974" class="citation journal cs1"><a href="Wayne_Stevens_(software_engineer)" title="Wayne Stevens (software engineer)">Stevens, W. P.</a>; <a href="Glenford_Myers" title="Glenford Myers">Myers, G. J.</a>; <a href="Larry_Constantine" title="Larry Constantine">Constantine, L. L.</a> (June 1974). "Structured design". <i>IBM Systems Journal</i>. <b>13</b> (2): <span class="nowrap">115–</span>139. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1147%2Fsj.132.0115">10.1147/sj.132.0115</a>.</cite></li>
<li><cite id="CITEREFYourdonConstantine1979" class="citation book cs1"><a href="Edward_Yourdon" title="Edward Yourdon">Yourdon, Edward</a>; <a href="Larry_Constantine" title="Larry Constantine">Constantine, Larry L.</a> (1979) [1975]. <i>Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design</i>. Yourdon Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-13-854471-9</bdi>.</cite></li>
<li><a href="Tom_DeMarco" title="Tom DeMarco">Tom DeMarco</a> (1978). <i>Structured Analysis and System Specification</i>. Yourdon. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-91-707207-3</bdi></li>
<li><cite id="CITEREFPage-Jones1980" class="citation cs2">Page-Jones, M (1980), <i>The Practical Guide to Structured Systems Design</i>, New York: Yourdon Press</cite></li>
<li>Derek J. Hatley, Imtiaz A. Pirbhai (1988). <i>Strategies for Real Time System Specification</i>. John Wiley and Sons Ltd. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-932633-04-8</bdi></li>
<li><a href="Stephen_J._Mellor" title="Stephen J. Mellor">Stephen J. Mellor</a> und Paul T. Ward (1986). <i>Structured Development for Real-Time Systems: Implementation Modeling Techniques: 003</i>. Prentice Hall. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-13-854803-X</bdi></li>
<li><a href="Edward_Yourdon" title="Edward Yourdon">Edward Yourdon</a> (1989). <i>Modern Structured Analysis</i>, Yourdon Press Computing Series, 1989, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-13-598624-9</bdi></li>
<li>Keith Edwards (1993). <i>Real-Time Structured Methods, System Analysis</i>. Wiley. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-471-93415-1</bdi></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1237033735">
/* start https://en.wikipedia.org/ */
@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style><div class="side-box side-box-right sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style>
<div class="side-box-flex">
<div class="side-box-image"><span class="noviewer" typeof="mw:File"></span></div>
<div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Structured_analysis" class="extiw external" title="commons:Category:Structured analysis">Structured analysis</a></span>.</div></div>
</div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070203213944/http://www.yourdon.com/strucanalysis/wiki/index.php?title=Introduction">Structured Analysis Wiki</a></li>
<li><a rel="nofollow" class="external text" href="http://www.cragsystems.co.uk/ITMUML/fun01/04fun01.htm">Three views of structured analysis</a> CRaG Systems, 2004.</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Software_engineering336" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Software_engineering336" style="font-size:114%;margin:0 4em"><a href="Software_engineering" title="Software engineering">Software engineering</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Fields</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computer_programming" title="Computer programming">Computer programming</a></li>
<li><a href="DevOps" title="DevOps">DevOps</a></li>
<li><a href="Empirical_software_engineering" title="Empirical software engineering">Empirical software engineering</a></li>
<li><a href="Experimental_software_engineering" title="Experimental software engineering">Experimental software engineering</a></li>
<li><a href="Formal_methods" title="Formal methods">Formal methods</a></li>
<li><a href="Requirements_engineering" title="Requirements engineering">Requirements engineering</a></li>
<li><a href="Search-based_software_engineering" title="Search-based software engineering">Search-based software engineering</a></li>
<li><a href="Site_reliability_engineering" title="Site reliability engineering">Site reliability engineering</a></li>
<li><a href="Social_software_engineering" title="Social software engineering">Social software engineering</a></li>
<li><a href="Software_deployment" title="Software deployment">Software deployment</a></li>
<li><a href="Software_design" title="Software design">Software design</a></li>
<li><a href="Software_maintenance" title="Software maintenance">Software maintenance</a></li>
<li><a href="Software_testing" title="Software testing">Software testing</a></li>
<li><a href="Systems_analysis" title="Systems analysis">Systems analysis</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Abstraction_(computer_science)" title="Abstraction (computer science)">Abstraction</a></li>
<li><a href="CI/CD" title="CI/CD">CI/CD</a></li>
<li><a href="Computer_compatibility" title="Computer compatibility">Compatibility</a>
<ul><li><a href="Backward_compatibility" title="Backward compatibility">Backward compatibility</a></li>
<li><a href="Compatibility_layer" title="Compatibility layer">Compatibility layer</a></li>
<li><a href="Compatibility_mode" title="Compatibility mode">Compatibility mode</a></li>
<li><a href="Forward_compatibility" title="Forward compatibility">Forward compatibility</a></li>
<li><a href="Software_incompatibility" title="Software incompatibility">Software incompatibility</a></li></ul></li>
<li><a href="Component-based_software_engineering" title="Component-based software engineering">Component-based software engineering</a></li>
<li><a href="Data_modeling" title="Data modeling">Data modeling</a></li>
<li><a href="Enterprise_architecture" title="Enterprise architecture">Enterprise architecture</a></li>
<li><a href="Functional_specification" title="Functional specification">Functional specification</a></li>
<li><a href="Modeling_language" title="Modeling language">Modeling language</a></li>
<li><a href="Programming_paradigm" title="Programming paradigm">Programming paradigm</a></li>
<li><a href="Software" title="Software">Software</a></li>
<li><a href="Software_archaeology" title="Software archaeology">Software archaeology</a></li>
<li><a href="Software_architecture" title="Software architecture">Software architecture</a></li>
<li><a href="Software_configuration_management" title="Software configuration management">Software configuration management</a></li>
<li><a href="Software_development_process" title="Software development process">Software development process/methodology</a></li>
<li><a href="Software_quality" title="Software quality">Software quality</a></li>
<li><a href="Software_quality_assurance" title="Software quality assurance">Software quality assurance</a></li>
<li><a href="Software_system" title="Software system">Software system</a></li>
<li><a href="Software_verification_and_validation" title="Software verification and validation">Software verification and validation</a></li>
<li>
<ul><li><a href="Essential_systems_analysis" title="Essential systems analysis">Essential analysis</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Orientations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Agile_software_development" title="Agile software development">Agile</a></li>
<li><a href="Aspect-oriented_programming" title="Aspect-oriented programming">Aspect-oriented</a></li>
<li><a href="Object-oriented_programming" title="Object-oriented programming">Object orientation</a></li>
<li><a href="Ontology_(information_science)" title="Ontology (information science)">Ontology</a></li>
<li><a href="Systems_development_life_cycle" title="Systems development life cycle">SDLC</a></li>
<li><a href="Service-oriented_architecture" title="Service-oriented architecture">Service orientation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Models</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Developmental</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Agile_software_development" title="Agile software development">Agile</a></li>
<li><a href="Enterprise_unified_process" title="Enterprise unified process">EUP</a></li>
<li><a href="Executable_UML" title="Executable UML">Executable UML</a></li>
<li><a href="Incremental_build_model" title="Incremental build model">Incremental model</a></li>
<li><a href="Iterative_and_incremental_development" title="Iterative and incremental development">Iterative model</a></li>
<li><a href="Software_prototyping" title="Software prototyping">Prototype model</a></li>
<li><a href="Rapid_application_development" title="Rapid application development">RAD</a></li>
<li><a href="Scrum_(software_development)" title="Scrum (software development)">Scrum</a></li>
<li><a href="Spiral_model" title="Spiral model">Spiral model</a></li>
<li><a href="Unified_process" title="Unified process">UP</a></li>
<li><a href="V-model_(software_development)" title="V-model (software development)">V-model</a></li>
<li><a href="Waterfall_model" title="Waterfall model">Waterfall model</a></li>
<li><a href="Extreme_programming" title="Extreme programming">XP</a></li>
<li><a href="Model-driven_engineering" title="Model-driven engineering">Model-driven engineering</a></li>
<li><a href="Round-trip_engineering" title="Round-trip engineering">Round-trip engineering</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Capability_Maturity_Model_Integration" title="Capability Maturity Model Integration">CMMI</a></li>
<li><a href="Data_model" title="Data model">Data model</a></li>
<li><a href="Entity%E2%80%93relationship_model" title="Entity–relationship model">ER model</a></li>
<li><a href="Function_model" title="Function model">Function model</a></li>
<li><a href="Information_model" title="Information model">Information model</a></li>
<li><a href="Metamodeling" title="Metamodeling">Metamodeling</a></li>
<li><a href="Object_model" title="Object model">Object model</a></li>
<li><a href="ISO/IEC_15504" title="ISO/IEC 15504">SPICE</a></li>
<li><a href="Systems_modeling" title="Systems modeling">Systems model</a></li>
<li><a href="View_model" title="View model">View model</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Languages</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IDEF" title="IDEF">IDEF</a></li>
<li><a href="Systems_modeling_language" title="Systems modeling language">SysML</a></li>
<li><a href="Unified_Modeling_Language" title="Unified Modeling Language">UML</a></li>
<li><a href="Universal_Systems_Language" title="Universal Systems Language">USL</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Systems_design" title="Systems design">Systems design</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Software_requirements_specification" title="Software requirements specification"> Requirements</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Functional_requirement" title="Functional requirement">Functional requirement</a></li>
<li><a href="Non-functional_requirement" title="Non-functional requirement">Non-functional requirement</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Capacity_planning" title="Capacity planning"> Capacity</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Active_users" title="Active users"> Users</a></li>
<li><a href="Central_processing_units" class="mw-redirect" title="Central processing units"> Compute</a></li>
<li><a href="Computer_memory" title="Computer memory"> Memory</a></li>
<li><a href="Computer_data_storage" title="Computer data storage"> Storage</a></li>
<li><a href="Bandwidth_(computing)" title="Bandwidth (computing)"> Network</a></li>
<li><a href="Web_traffic" title="Web traffic">Web traffic</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Interface_(computing)" title="Interface (computing)"> Interface</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="API" title="API">API</a></li>
<li><a href="SOAP" title="SOAP">SOAP</a></li>
<li><a href="REST" title="REST">REST</a></li>
<li><a href="GraphQL" title="GraphQL">GraphQL</a></li>
<li><a href="GRPC" title="GRPC">gRPC</a></li>
<li><a href="Webhook" title="Webhook">Webhook</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="High-level_design" title="High-level design">High-level design</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Client_(computing)" title="Client (computing)"> Client</a></li>
<li><a href="Load_balancing_(computing)" title="Load balancing (computing)"> Load balancing</a></li>
<li><a href="Application_server" title="Application server">Application server</a></li>
<li><a href="Message_queue" title="Message queue">Message queue</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="System_Integration" class="mw-redirect" title="System Integration"> Integration</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Vertical_integration" title="Vertical integration"> Vertical</a></li>
<li><a href="Peer-to-peer" title="Peer-to-peer">Peer-to-peer</a></li>
<li><a href="API_management" title="API management"> API Gateway</a></li>
<li><a href="Publish%E2%80%93subscribe_pattern" title="Publish–subscribe pattern"> pub-sub</a></li>
<li><a href="Event_store" title="Event store"> Event Source</a></li>
<li><a href="Extract%2C_transform%2C_load" title="Extract, transform, load"> ETL</a></li>
<li><a href="Batch_processing" title="Batch processing"> Batch</a></li>
<li><a href="Stream_processing" title="Stream processing">Stream</a></li>
<li><a href="Orchestration_(computing)" title="Orchestration (computing)"> Orchestration</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Architectures" class="mw-redirect" title="Architectures">Architectures</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Monolithic_application" title="Monolithic application"> Monolithic</a></li>
<li><a href="Microservices" title="Microservices">Microservices</a></li>
<li><a href="Event-driven_architecture" title="Event-driven architecture"> Event-Driven</a></li>
<li><a href="Client%E2%80%93server_model" title="Client–server model"> Client–server</a></li>
<li><a href="Serverless_computing" title="Serverless computing"> Serverless</a></li>
<li><a href="Circuit_breaker_design_pattern" title="Circuit breaker design pattern"> Circuit breaker</a></li>
<li><a href="Rate_limiting" title="Rate limiting">Rate limiting</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Database" title="Database">Database</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Relational_database" title="Relational database"> Relational</a></li>
<li><a href="NoSQL" title="NoSQL">NoSQL</a></li>
<li><a href="Graph_database" title="Graph database"> Graph</a></li>
<li><a href="Key%E2%80%93value_database" title="Key–value database"> Key–value</a></li>
<li><a href="Log-structured_merge-tree" title="Log-structured merge-tree"> LSM Tree </a></li>
<li><a href="Time_series_database" title="Time series database"> Time series</a></li>
<li><a href="Data_orientation" title="Data orientation"> Column Oriented</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Systems_design" title="Systems design"> Principles</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Consistency_(database_systems)" title="Consistency (database systems)">Consistency</a></li>
<li><a href="Reliability_engineering" title="Reliability engineering">Reliability</a></li>
<li><a href="CAP_theorem" title="CAP theorem">CAP theorem</a></li>
<li><a href="Software_maintenance" title="Software maintenance"> Maintainability</a></li>
<li><a href="Computer_configuration" title="Computer configuration"> Configurability</a></li>
<li><a href="Modularity" title="Modularity">Modularity</a></li>
<li><a href="Durability_(database_systems)" title="Durability (database systems)"> Durability</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Scalability" title="Scalability">Scalability</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Service_statelessness_principle" title="Service statelessness principle"> Stateless</a></li>
<li><a href="Asynchronous_I/O" title="Asynchronous I/O">Asynchronous I/O</a></li>
<li><a href="Loose_coupling" title="Loose coupling">Loose coupling</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Availability" title="Availability">Availability</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Fault_tolerance" title="Fault tolerance">Fault tolerance</a></li>
<li><a href="Failover" title="Failover">Failover</a></li>
<li><a href="Single_point_of_failure" title="Single point of failure">Single point of failure</a></li>
<li><a href="Replication_(computing)" title="Replication (computing)"> Replication</a></li>
<li><a href="Consistent_hashing" title="Consistent hashing">Consistent hashing</a></li>
<li><a href="Circuit_breaker_design_pattern" title="Circuit breaker design pattern"> Circuit breaker</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Latency_(engineering)" title="Latency (engineering)">Latency</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Cache_(computing)" title="Cache (computing)"> Cache</a></li>
<li><a href="Content_delivery_network" title="Content delivery network"> CDN</a></li>
<li><a href="Shard_(database_architecture)" title="Shard (database architecture)"> Shard </a></li>
<li><a href="Database_index" title="Database index">Database index</a></li>
<li><a href="Cache_prefetching" title="Cache prefetching"> Pre-caching</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Computer_data_storage" title="Computer data storage"> Storage</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Object_storage" title="Object storage">Object storage</a></li>
<li><a href="Block-level_storage" title="Block-level storage"> Block storage</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Observability_(software)" title="Observability (software)"> Observability</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Logging_(computing)" title="Logging (computing)"> Logging</a></li>
<li><a href="Software_metric" title="Software metric"> Metrics</a></li>
<li><a href="Tracing_(software)" title="Tracing (software)"> Tracing </a></li>
<li><a href="Failure_rate" title="Failure rate"> Error rate </a></li>
<li><a href="Queries_per_second" title="Queries per second">Queries per second </a></li>
<li><a href="Notification_system" title="Notification system">Notification system</a></li>
<li><a href="Anomaly_detection" title="Anomaly detection">Anomaly detection</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related fields</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computer_engineering" title="Computer engineering">Computer engineering</a></li>
<li><a href="Computer_science" title="Computer science">Computer science</a></li>
<li><a href="Information_science" title="Information science">Information science</a></li>
<li><a href="Project_management" title="Project management">Project management</a></li>
<li><a href="Risk_management" title="Risk management">Risk management</a></li>
<li><a href="Systems_engineering" title="Systems engineering">Systems engineering</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2" style="font-weight:bold;"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li>
<li><span class="noviewer" typeof="mw:File"><span title="Commons page"></span></span> <a href="https://commons.wikimedia.org/wiki/Category:Software_engineering" class="extiw external" title="commons:Category:Software engineering">Commons</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-29" href="https://en.wikipedia.org/wiki/?title=Structured_analysis&oldid=1303148861">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>